package com.debao.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.debao.common.annotation.Excel;
import com.debao.common.core.domain.BaseEntity;

/**
 * 退款订单对象 refund_record
 * 
 * @author DeBao
 * @date 2024-10-14
 */
@Data
public class RefundRecord {

    /** id */
    private Long id;

    /** 原始系统订单号 */
    @Excel(name = "原始系统订单号")
    private String orderNo;

    /** 原始微信订单号（28位） */
    @Excel(name = "原始微信订单号", readConverterExp = "2=8位")
    private String transactionId;

    /** 订单类型（C 课程 T 桌台 G 商品 V 会员 J 入住） */
    @Excel(name = "订单类型", readConverterExp = "C=,课=程,T=,桌=台,G=,商=品,V=,会=员,J=,入=住")
    private String orderType;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 退款申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationTime;

    /** 退款完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completionTime;

    /** 原始金额 */
    @Excel(name = "原始金额")
    private String transactionAmount;

    /** 退款金额（去除手续费后的金额） */
    @Excel(name = "退款金额", readConverterExp = "去=除手续费后的金额")
    private String refundAmount;

    /** 申请用户id */
    @Excel(name = "申请用户id")
    private Long userId;

    /** 申请用户电话 */
    @Excel(name = "申请用户电话")
    private String userContact;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    private String userName;

    /** 退款状态（Refunded 已退款 NoRefunded 未退款 ） */
    @Excel(name = "退款状态", readConverterExp = "Refunded,已=退款,N=oRefunded,未=退款")
    private String refundStatus;

}
